#ifndef DEFS_H
#define DEFS_H

////////////////////////////////////////////////////////////////////////////////
//!
//! \file   defs.h
//!
//! \brief  Project specific definitions
//!
////////////////////////////////////////////////////////////////////////////////

// Standard headers
#include <iostream>
#include <string>

////////////////////////////////////////////////////////////////////////////////
//!
//! \def    ERRORVAL
//!
//! \brief  Notify user about an errorneous value that was passed as an argument
//!
////////////////////////////////////////////////////////////////////////////////

#define ERRORVAL(errorstr, value)\
{\
    std::cerr   << __FILE__ << ":" << __LINE__ << " "\
                << errorstr << " = " << value << std::endl;\
}

////////////////////////////////////////////////////////////////////////////////
//!
//! \def    SHOWERROR
//!
//! \brief  Notify user about an error
//!
////////////////////////////////////////////////////////////////////////////////

#define SHOWERROR(errorstr)\
{\
    std::cerr   << __FILE__ << ":" << __LINE__ << " "\
                << errorstr << std::endl;\
}

////////////////////////////////////////////////////////////////////////////////
//!
//! \def    RETURNONERROR
//!
//! \brief  Notify user about a brook error
//!
////////////////////////////////////////////////////////////////////////////////

#define RETURNONERROR(error, errorstr)\
{\
    if(error)\
    {\
        SHOWERROR(errorstr);\
        return false;\
    }\
}

#endif	// DEFS_H
